using Net35.Xrm.Sdk;
using System;
using System.Runtime.Serialization;
namespace Net35.Crm.Sdk.Messages
{
	[DataContract(Namespace = "http://schemas.microsoft.com/crm/2011/Contracts")]
	public sealed class DistributeCampaignActivityRequest : OrganizationRequest
	{
		public Guid CampaignActivityId
		{
			get
			{
				if (base.Parameters.Contains("CampaignActivityId"))
				{
					return (Guid)base.Parameters["CampaignActivityId"];
				}
				return default(Guid);
			}
			set
			{
				base.Parameters["CampaignActivityId"] = value;
			}
		}
		public bool Propagate
		{
			get
			{
				return base.Parameters.Contains("Propagate") && (bool)base.Parameters["Propagate"];
			}
			set
			{
				base.Parameters["Propagate"] = value;
			}
		}
		public Entity Activity
		{
			get
			{
				if (base.Parameters.Contains("Activity"))
				{
					return (Entity)base.Parameters["Activity"];
				}
				return null;
			}
			set
			{
				base.Parameters["Activity"] = value;
			}
		}
		public Guid TemplateId
		{
			get
			{
				if (base.Parameters.Contains("TemplateId"))
				{
					return (Guid)base.Parameters["TemplateId"];
				}
				return default(Guid);
			}
			set
			{
				base.Parameters["TemplateId"] = value;
			}
		}
		public PropagationOwnershipOptions OwnershipOptions
		{
			get
			{
				if (base.Parameters.Contains("OwnershipOptions"))
				{
					return (PropagationOwnershipOptions)base.Parameters["OwnershipOptions"];
				}
				return PropagationOwnershipOptions.None;
			}
			set
			{
				base.Parameters["OwnershipOptions"] = value;
			}
		}
		public EntityReference Owner
		{
			get
			{
				if (base.Parameters.Contains("Owner"))
				{
					return (EntityReference)base.Parameters["Owner"];
				}
				return null;
			}
			set
			{
				base.Parameters["Owner"] = value;
			}
		}
		public bool SendEmail
		{
			get
			{
				return base.Parameters.Contains("SendEmail") && (bool)base.Parameters["SendEmail"];
			}
			set
			{
				base.Parameters["SendEmail"] = value;
			}
		}
		public Guid QueueId
		{
			get
			{
				if (base.Parameters.Contains("QueueId"))
				{
					return (Guid)base.Parameters["QueueId"];
				}
				return default(Guid);
			}
			set
			{
				base.Parameters["QueueId"] = value;
			}
		}
		public bool PostWorkflowEvent
		{
			get
			{
				return base.Parameters.Contains("PostWorkflowEvent") && (bool)base.Parameters["PostWorkflowEvent"];
			}
			set
			{
				base.Parameters["PostWorkflowEvent"] = value;
			}
		}
		public DistributeCampaignActivityRequest()
		{
			base.RequestName = "DistributeCampaignActivity";
			this.CampaignActivityId = default(Guid);
			this.Propagate = false;
			this.Activity = null;
			this.TemplateId = default(Guid);
			this.OwnershipOptions = PropagationOwnershipOptions.None;
			this.Owner = null;
			this.SendEmail = false;
			this.PostWorkflowEvent = false;
		}
	}
}
